iT邦幫忙

2023 iThome 鐵人賽

DAY 28
0
自我挑戰組

30天從零到有,帶你進入程式的世界系列 第 28

[Day 28] Rails : 簡易部落格 1

  • 分享至 

  • xImage
  •  

接下來三篇我會利用在五倍學習到的東西,來簡單模擬一下該如何使用Ruby的框架: Rails 來打造一個簡易的部落格

rails 指令

  • gem install rails 安裝最新的rails
  • gem install rails -v 6.1.7.4 安裝某個特定版本的rails
  • gem list rails : 查看電腦安裝了哪些版本的rails

node 指令

  • node -v : 顯示預設使用的node版本

  • nvm current : 查詢當前的node版本

  • nvm ls : 查詢安裝的所有node版本

  • nvm use 16 : 將node 改成使用16版本

  • nvm alias default 16將node 預設使用16版本

  • nvm install v10.15.3 指定想要安裝的版本

  • nvm ls : 查看目前已經安裝的版本

  • brew uninstall node : 透過 Homebrew 移除Node.js

  • nvm uninstall <version> : 使用 NVM 移除指定版本 Node.js

建立專案

  • rails new wretch : 用最新版本建立專案
  • rails _6.1.7.4_ new wretch : 用 6.1.7.4 建立專案

安裝好後套件內容顯示:

  • app : 各種應用程式的檔案,例如的JS專門放js檔案
    https://ithelp.ithome.com.tw/upload/images/20231010/20162648ukGax25CLd.png

  • log : 放一些使用者紀錄
    https://ithelp.ithome.com.tw/upload/images/20231010/201626481sPjeTPvkg.png

  • public : 公開的資料夾,放在這邊的檔案不會經過route , 會先檢查這邊再去route,(404.html , 422.html )
    https://ithelp.ithome.com.tw/upload/images/20231010/20162648hauCtpBD72.png

  • test: 存放測試檔案
    https://ithelp.ithome.com.tw/upload/images/20231010/20162648WJhilXEPtx.png

  • tmp: 放一些運轉時候暫時產生的檔案
    https://ithelp.ithome.com.tw/upload/images/20231010/201626484zNzGddF4s.png

  • gem install vs bundle install

    • gem install ⇒ 安裝某個套件
    • bundle install = Gemfile + gem install 根據Gemfile 的描述, 去把套件下載下來

語意化版本

版本號碼: 3.2.0

  • 第一個3 代表 major ⇒ 大版號升級, 代表跟之前的版本是完全不一樣的東西 (做了不相容的 API 接口更改)
  • 第二個2 代表 minor ⇒ 通常是可以向下相容的功能性新增
  • 第三個0 代表 patch ⇒ 問題修正或者調整, 可以無痛升級

在Gemfile中,我們可以看到有許多這樣的寫法
https://ithelp.ithome.com.tw/upload/images/20231010/20162648qIt0E7efrl.png

  • ~> 3.1.7 : 指定了主版本號為 3 的 Gem,並要求 Gem 的版本號要在 3.1.7 和 3.2 之間(但不包括 3.2)。

>= 1.4.4 : 要求Gem 的版本號必須大於或等於 1.4.4。這包括 1.4.4 本身以及任何比它更高的版本。 (1.4.4、1.4.5、1.5.0、2.0.0….)

'~> 5.1', '>= 5.1.1'  : 表示版本必須要大於 5.1.1 但且要小於 6.0.0.".

建立文章列表 - articles

  1. 把article 獨立一個頁面
    config/routes.rb

    Rails.application.routes.draw do
      get "/", to: "articles#home"
      get "/articles", to: "articles#index"
    end
    
  2. 終端機輸入 rails g controller articles : 新增一個名為articles的controller

  3. app/controllers/articles_controller.rb

    class ArticlesController < ApplicationController
        def articles
        end
    end
    
  4. app/views/articles/index.html.erb

    <h1>文章列表</h1>
    
    <a href="articles/new">新增文章</a>
    

建立新增文章的連結

  1. config/routes.rb

    Rails.application.routes.draw do
    
      get "/articles", to: "articles#index"
      get "/articles/new", to: "articles#new"
    end
    
  2. app/controllers/articles_controller.rb

    class ArticlesController < ApplicationController
        def articles
        end
    
        def new
        end
    end
    
  3. app/views/articles/ new.html.erb(新增)

    <h1>新增文章:</h1>
    

首頁的寫法

  • config/routes.rb
Rails.application.routes.draw do
  
  **root "articles#index" # 新寫法**

  #get "/", to: "articles#index" #舊寫法
****
end

感謝觀看,那我們明天繼續!


上一篇
[Day 27] Ruby: 封裝、繼承、多型
下一篇
[Day 29] Rails : 簡易部落格 2
系列文
30天從零到有,帶你進入程式的世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言